package queue;


import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

public class JmsProducer_Topic {


    public static final String ACTIVEMQ_URL = "tcp://101.200.158.243:61616";
    public static final String TOPIC_NAME = "topic-jdbc-PERSISTENCE";

    public static void main(String[] args) throws JMSException {

        // 1、创建连接工厂
        ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(ACTIVEMQ_URL);
        // 2、通过连接工厂获得连接connection并启动访问
        Connection connection = activeMQConnectionFactory.createConnection();
        connection.start();
        // 3、创建会话session
        // 两个参数,第一个叫事物,第二个叫签收
        Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);

        // 4、创建目的地（具体是队列还是主题）
        //Destination destination = session.createQueue(QUEUE_NAME);
        Topic topic = session.createTopic(TOPIC_NAME);

        // 5、创建消息的生产者
        MessageProducer messageProducer = session.createProducer(topic);

        // 持久化
        messageProducer.setDeliveryMode(DeliveryMode.PERSISTENT);


        // 6、通过使用messageProducer生产3条消息发送到MQ的队列里面
        for (int i = 0; i < 6; i++) {
            // 7、创建消息
            TextMessage textMessage = session.createTextMessage("TOPIC-----" + i);  // 理解为一个字符串

            // 8、通过messageProducer发送给mq
            messageProducer.send(textMessage);
        }

        // 9、关闭资源
        messageProducer.close();
        session.close();
        connection.close();
        System.out.println("TOPIC消息发送到MQ完成");


    }
}
